package com.ming.demo.common.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.ming.demo.service.FileService;
import com.ming.demo.service.LoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.io.*;
import java.util.Random;
import java.util.UUID;

@Service
public class OssUtils {
    @Autowired
    private FileService fileService;

    public boolean  upload(File file, String name, String infoPeople_id){
        try {
            // Endpoint以杭州为例，其它Region请按实际情况填写。
            String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录 https://ram.console.aliyun.com 创建RAM账号。
            String accessKeyId = "LTAI4FjWDz22LBtN13UqDHne";
            String accessKeySecret = "cUp7p1IM3QtuD8od8U8W1TvmdLtCpg";
            String bucketName = "mingmingmelovemingming";
// <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径，例如abc/efg/123.jpg。

            String objectName = "weixinxiaocengxu/" + System.currentTimeMillis() + (int)Math.random() + UUID.randomUUID() +file.getName();
            System.out.println(objectName);
            // 保存数据到数据库中
            fileService.uploadFile(name, objectName, infoPeople_id);
// 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// 上传内容到指定的存储空间（bucketName）并保存为指定的文件名称（objectName）。
            ossClient.putObject(bucketName, objectName, file);

// 关闭OSSClient。
            ossClient.shutdown();
        }catch (Exception e){
            return false;
        }
        return true;
    }
}
